import java.util.*;

public class TestF {

//    class Solution {
//        public List<Integer> findAnagrams(String s, String p) {
//            int sLen = s.length(), pLen = p.length();
//
//            if (sLen < pLen) {
//                return new ArrayList<Integer>();
//            }
//
//            List<Integer> ans = new ArrayList<Integer>();
//            int[] sCount = new int[26];
//            int[] pCount = new int[26];
//            for (int i = 0; i < pLen; ++i) {
//                ++sCount[s.charAt(i) - 'a'];
//                ++pCount[p.charAt(i) - 'a'];
//            }
//
//            if (Arrays.equals(sCount, pCount)) {
//                ans.add(0);
//            }
//
//            for (int i = 0; i < sLen - pLen; ++i) {
//                --sCount[s.charAt(i) - 'a'];
//                ++sCount[s.charAt(i + pLen) - 'a'];
//
//                if (Arrays.equals(sCount, pCount)) {
//                    ans.add(i + 1);
//                }
//            }
//
//            return ans;
//        }
//    }

//    public int totalFruit(int[] fruits) {
//
//        int[] hash = new int[fruits.length + 1];
//        int kind = 0;
//        int count = 0;
//        for (int right = 0,left = 0; right < fruits.length; right++) {
//
//            if(hash[fruits[right]] == 0) {
//                kind ++ ;
//            }
//            hash[fruits[right]] ++ ;
//
//
//            while (kind > 2) {
//
//                hash[fruits[left]] -- ;
//                if (hash[fruits[left]] == 0) {
//                    kind -- ;
//                }
//                left ++ ;
//
//            }
//
//            count = Math.max(count, right - left + 1);
//
//        }
//        return count;
//    }

//    public int minOperations(int[] nums, int x) {
//
//        int sum = 0;
//        for (int n:nums) {
//            sum += n;
//        }
//        int target = sum - x;
//        if (target < 0) {
//            return -1;
//        }
//
//
//        int count = -1;
//        int temp = 0;
//        for (int right = 0,left = 0; right < nums.length; right++) {
//
//            temp += nums[right];
//            while (temp > target) {
//                temp -= nums[left++];
//            }
//            if(temp == target) {
//                count = Math.max(count,right - left + 1);
//            }
//        }
//
//        return count == -1 ? -1 : nums.length - count;
//
//    }

//    public int minOperations(int[] nums, int x) {
//
//        // 双指针遍历，每次进人循环对比 左右指针 + sum 谁更接近 x ，并且 左右指针 + sum 的值小于等于 x
//
//        int right = nums.length - 1;
//        int left = 0;
//        int sum = 0;
//        int count = 0;
//
//        while(right != left) {
//            if (nums[right] + sum <= x  && nums[right] + sum >= nums[left] + sum) {
//                sum += nums[right];
//                count ++ ;
//                right -- ;
//            } else if (nums[left] + sum <= x && nums[left] + sum >= nums[right] + sum) {
//                sum += nums[left];
//                count ++ ;
//                left ++ ;
//            }else {
//                return -1;
//            }
//
//            if (sum == x) {
//                return count;
//            }
//        }
//        return count;
//
//    }

//    public static void main(String[] args) {
//        int[] nums = new int[]{3,2,20,1,1,3};
//        TestF testF = new TestF();
//        int count = testF.minOperations(nums,10);
//        System.out.println(count);
//    }

//
//    public int longestOnes(int[] nums, int k) {
//
//        int count = Integer.MIN_VALUE;
//
//        // [1,1,1,0,0,0,1,1,1,1,0]
//
//        for (int right = 0,left = 0,zero = 0; right < nums.length; right++) {
//
//            if(nums[right] == 0) {
//                zero ++ ;
//            }
//            while(zero > k) {
//                if(nums[left] == 0) {
//                    left ++ ;
//                    zero -- ;
//                }else {
//                    left ++ ;
//                }
//            }
//            count = Math.max(right - left + 1,count);
//        }
//
//        return count;
//    }
//
//    public static void main(String[] args) {
//
//        TestF testF = new TestF();
//        int[] nums = new int[]{1,1,1,0,0,0,1,1,1,1,0};
//        System.out.println(testF.longestOnes(nums,2));
//
//    }
//
//    public int longestOnes(int[] nums, int k) {
//        // 先遍历一遍数组将连续的1相加,赋值到另一个数组中,不为1的直接转移
//        // 双指针遍历第二个数组，left指针找第一个大于0的数,保留当前指针,然后right指针找第二个大于0的数
//        // 判断right - left - 1 的值如果 <= k 的值,则让 [left] + [right] + right - left - 1; k--;   (补充)
//        // 如果right - left - 1 的值如果 > k 的值,则让 [left] + k 与 [right] + k 比较 ，将较大的一方值保存
//        // 让后让 left = right ，right 再去找下一个值
//        int[] arr = new int[nums.length];
//
//        int sum = 0;
//
//        for (int i = 0,j = 0; i < nums.length; i++) {
//            if(nums[i] != 0) {
//                sum += nums[i];
//            }
//            if(nums[i] == 0) {
//                if(sum != 0) {
//                    arr[j] = sum;
//                    sum = 0;
//                    j++;
//                }
//                arr[j] = 0;
//                j++;
//            }
//        }
//
//        int longOneCount = 0;
//
//        for (int right = 0,left = 0; right < nums.length; right++) {
//            if(arr[right] != 0) {
//                if(right - left - 1 <= k) {
//                    longOneCount = right - left - 1 + arr[left] + arr[right];
//                }
//
//                left
//            }
//        }
//
//        return 1;
//    }


//    public static void main(String[] args) {
//        // 输出1000内的所有素数
//        for (int i = 2; i <= 1000; i++) {
//            if (isPrime(i)) {
//                System.out.print(i + " ");
//            }
//        }
//    }
//
//    // 判断一个数是否为素数的函数
//    private static boolean isPrime(int num) {
//        if (num < 2) {
//            return false;
//        }
//        for (int i = 2; i <= Math.sqrt(num); i++) {
//            if (num % i == 0) {
//                return false;
//            }
//        }
//        return true;
//    }
//    public static void main(String[] args) {
//        Integer num = new Integer(200);
//        method(num);
//        System.out.println(num);
//    }
//    public static void method(int num) {
//        num = 10;
//    }

//    public static void main(String[] args) {
//
//        int date = 0;// 20200202
//        Scanner scanner = new Scanner(System.in);
//        date = scanner.nextInt();
//
//        judgPalindrome(date);
//    }
//
//    public static void judgPalindrome(int date) {
//
//
//        Integer integer = date;
//        String year = integer.toString().substring(0,4);
//        String month = integer.toString().substring(4,6);
//        String day = integer.toString().substring(6,8);
//
//        int monthInt = Integer.parseInt(month);
//        int yearInt = Integer.parseInt(year);
//        int dayInt = Integer.parseInt(day);
//
//
//        System.out.println(yearInt);
//        System.out.println(monthInt);
//        System.out.println(dayInt);
//
//        for (int i = 0; i < 1000; i++) {
//            if(yearInt % 4 == 0 && yearInt % 100 != 0 || yearInt % 400 == 0) {
//                //判断为闰年
//
//            }
//        }



//        for (int x: arr) {
//            System.out.println(x);
//        }


//    }


}
